<template>
  <div>
    <!-- 竖直方向 滚动 -->
    <div class="content1" ref="content1">
      <div class="text1" ref="text1">
        <template v-for="(item, index) in 15">
          <div :key="index" class="item1">滚动 {{ item }} 竖直方向</div>
        </template>
      </div>
    </div>
    <!-- 水平方向 滚动 -->
    <div class="content2" ref="content2">
      <div class="text2" ref="text2">
        <template v-for="(item, index) in 10">
          <div :key="index" class="item2">{{ item }} 水平方向</div>
        </template>
      </div>
    </div>
  </div>
</template>

<script>
import { createScroll } from '@/utils/scroll'
export default {
  data() {
    return {
      scrollObj1: null, // 竖直方向
      scrollObj2: null // 水平方向
    }
  },
  created() { },
  mounted() {
    this.$nextTick(() => {
      this.init1()
      this.scrollObj1.initScroll()
    })
    this.$nextTick(() => {
      this.init2()
      this.scrollObj2.initScroll()
    })
  },
  beforeDestroy() {
    if (this.scrollObj1) this.scrollObj1.removeEvent()
    if (this.scrollObj2) this.scrollObj2.removeEvent()
  },
  methods: {
    init1() {
      this.scrollObj1 = createScroll({
        childElement: this.$refs.text1, // 子元素
        parentElement: this.$refs.content1, // 父元素
        pauseNum: 20, // 滚动完之后的暂停时间 暂停时间 = pauseNum * perTime
        perTime: 100, // 移动 1px 需要的时间 毫秒
        isStop: true, // 鼠标放置是否暂停 为 true 时 添加鼠标事件 注意注销事件 removeEvent
        whellMoveDistance: 20, // 滚轮单次滚动滚动移动的距离
        moveDirection: 'toBottom', // 移动方向 toBottom / toRight  默认值 - toBottom
      })
    },
    init2() {
      this.scrollObj2 = createScroll({
        childElement: this.$refs.text2, // 子元素
        parentElement: this.$refs.content2, // 父元素
        pauseNum: 20, // 滚动完之后的暂停时间 暂停时间 = pauseNum * perTime
        perTime: 100, // 移动 1px 需要的时间 毫秒
        isStop: true, // 鼠标放置是否暂停 为 true 时 添加鼠标事件 注意注销事件 removeEvent
        whellMoveDistance: 20, // 滚轮单次滚动滚动移动的距离
        moveDirection: 'toRight', // 移动方向 toBottom / toRight  默认值 - toBottom
      })
    },
  }

}

</script>

<style scoped>
/* 竖直方向 滚动 */
.content1 {
  width: 300px;
  height: 400px;
  border: 1px solid black;
  padding: 10px;
  overflow: hidden;
  margin-left: 100px;
}
.text1 {
  width: auto;
  height: auto;
  background: #fff;
}
.item1 {
  width: 200px;
  height: 30px;
  background: skyblue;
  font-size: 15px;
  line-height: 30px;
  text-align: center;
}
.item1:nth-child(2n) {
  background: pink;
}
/* 水平方向 滚动 */
.content2 {
  width: 800px;
  height: 35px;
  border: 1px solid black;
  padding: 10px;
  overflow: hidden;
  margin-left: 100px;
  margin-top: 30px;
}
.text2 {
  width: 1000px;
  background: #fff;
  white-space: nowrap;
  /* overflow: hidden;
            text-overflow: ellipsis; */
}
.item2 {
  width: 100px;
  height: 35px;
  background: skyblue;
  font-size: 15px;
  line-height: 35px;
  text-align: center;
  display: inline-block;
  white-space: nowrap;
  /* overflow: hidden;
            text-overflow: ellipsis; */
}
.item2:nth-child(2n) {
  background: pink;
}
</style>